package com.mdhw.system.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mdhw.common.annotation.IgnorePermissions;
import com.mdhw.config.R;
import com.mdhw.system.entity.SysUser;
import com.mdhw.system.service.CaoLiaoService;
import com.mdhw.system.service.SysConfigService;
import com.mdhw.system.service.SysUserService;
import com.mdhw.system.vo.SysAppVersionVo;
import com.mdhw.system.vo.SysGonggaoVo;
import com.mdhw.system.vo.SysIndexConfigVo;
import com.mdhw.system.vo.SysRewardJizhiVo;
import com.mdhw.utils.OkHttpUtil;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@Slf4j
@RestController
@Api(tags = "系统")
@RequestMapping("sysConfig")
public class SysConfigController {

    @Autowired
    private SysConfigService sysConfigService;
    @Autowired
    private SysUserService sysUserService;
    @Autowired
    private CaoLiaoService caoLiaoService;
    @IgnorePermissions
    @GetMapping("/get/selectIndexConfigVo")
    public R<SysIndexConfigVo> selectIndexConfigVo(){

        SysIndexConfigVo sysIndexConfigVo = new SysIndexConfigVo();
        List<String> bannerList = new ArrayList<>();
        bannerList.add("https://mdhw.oss-cn-hangzhou.aliyuncs.com/goods/1726032945081_TXncrpNM.jpg");
        bannerList.add("https://mdhw.oss-cn-hangzhou.aliyuncs.com/goods/1726033805824_Fy8hcBHX.jpg");
        sysIndexConfigVo.setIndexBannerList(bannerList);

        List<String> messageList = new ArrayList<>();
        messageList.add("恭喜尾号 7500 的业主成功量房");
        messageList.add("恭喜尾号 1298 的业主成功量房");

        sysIndexConfigVo.setMessageList(messageList);

        List<String>  gonggao1 = new ArrayList<>();
        gonggao1.add("注意事项");
        gonggao1.add("1，不要和上门的装修人员谈论平台的任何事情。");
        gonggao1.add("2，平台订单以装修公司上门量房并点确认为有效订单。");
        gonggao1.add("3，结算以每月15号和30号为准，结算提现金额。");
        gonggao1.add("4，提交资料的客户要保证手机畅通，在没接到客服电话之前，保证所有来电接听，避免电话漏接，平台会三小时内电话联系。");
        gonggao1.add("5，平台工作时间为早九点到晚五点。如果入单太多，工作顺延。");
        gonggao1.add("6，谈好上门时间要守时，不用轻易更改。");
        gonggao1.add("7，遇到问题请联系客服。");
        sysIndexConfigVo.setGonggao1List(gonggao1);

        SysGonggaoVo sysGonggaoVo = new SysGonggaoVo();
        List<String> gonggao2 = new ArrayList<>();
        /*gonggao.add("公告");
        gonggao.add("因系统原因，我们后台更新数据，预计周五可以恢复正常，给您带来不便，敬请谅解。");*/
        gonggao2.add("本平台是一家综合性数据平台。");
        gonggao2.add("家装板块是给全国400多个城市，几千家装修公司推荐家装意向客户。");
        gonggao2.add("推广注意事项如下：");
        gonggao2.add("1，精准推广意向装修客户，准确宣导平台功能。");
        gonggao2.add("2，虚假诱导客户下单者封号处理。");
        gonggao2.add("3，夸大诱导客户下单者封号处理。");
        gonggao2.add("4，冒用他人信息下单者封号处理。");
        gonggao2.add("5，推广不清楚，不到位导致其他人产生虚假订单的受连带封号处理。");
        sysGonggaoVo.setGonggao(gonggao2);
        sysIndexConfigVo.setGonggao2List(gonggao2);

        sysIndexConfigVo.setIsShowYimei("0");
        sysIndexConfigVo.setIsShowJinrong("0");
        sysIndexConfigVo.setIsShowJinsheng("0");
        sysIndexConfigVo.setIsShowJiangli("0");

        sysIndexConfigVo.setJiangliTitle("");



        return R.success(sysIndexConfigVo);
    }


    @IgnorePermissions
    @GetMapping("/get/selectAppVersion")
    public R<SysAppVersionVo> selectAppVersion(){
        SysAppVersionVo sysAppVersionVo = new SysAppVersionVo();
        sysAppVersionVo.setAppVersionCode("100");
        sysAppVersionVo.setDowloadUrl("gw.sjjb888.cn");
        sysAppVersionVo.setShowdownbtn("0");
        return R.success(sysAppVersionVo);
    }

    @IgnorePermissions
    @GetMapping("/get/createAppQrCode")
    public R createAppQrCode(
    ){

        LambdaQueryWrapper<SysUser> suLqw = new LambdaQueryWrapper<>();
        List<SysUser> sysUserList = this.sysUserService.list(suLqw);
        for(SysUser sysUser : sysUserList){
            String yaoqingma = sysUser.getYaoqingma();
            if(StringUtils.isNotBlank(yaoqingma)){
                try {
                    String appQrCode = this.caoLiaoService.createPrivateD4QrCode(yaoqingma);
                    sysUser.setAppQrCode(appQrCode);
                    this.sysUserService.updateById(sysUser);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
        return null;
    }





    public static List<Integer> initBaseList(){
        List<Integer> baseList = new ArrayList<>();
        baseList.add(2);
        baseList.add(4);
        baseList.add(5);
        baseList.add(7);
        baseList.add(8);
        baseList.add(1);
        baseList.add(3);
        baseList.add(6);
        baseList.add(1);
        baseList.add(3);
        baseList.add(5);
        baseList.add(7);
        baseList.add(8);
        baseList.add(2);
        baseList.add(4);
        baseList.add(6);
        baseList.add(1);
        baseList.add(3);
        baseList.add(5);
        baseList.add(7);
        baseList.add(8);
        baseList.add(2);
        baseList.add(4);
        baseList.add(6);
        baseList.add(1);
        baseList.add(3);
        baseList.add(5);
        baseList.add(7);
        baseList.add(8);
        baseList.add(2);
        baseList.add(4);
        baseList.add(6);
        return baseList;
    }



}
